﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using KL.Store.Data;
using KL.Store.Core;
using KL.Store.Core.Domain;
using KL.Store.Web.Models;

namespace KL.Store.Web.Controllers
{
    public class PagesController : KL.Store.Core.Web.BaseController
    {
        #region Index

        public ActionResult Index(string pageName)
        {
            Page page = dbPage.GetByName(pageName);
            PageModel pageModel = new PageModel();
            if(string.IsNullOrEmpty(page.Url)){
                return Redirect("/Content/404");
            }
            if (page != null)
            {
                Mapper.MapDomainToViewModel2(page, pageModel);
            }

            pageModel.IsManager = eStoreUser.IsManager;
            var websiteUrl = dbRefs.GetRef1(1913) == "E" ? Parameters.WebSiteUrl.Replace("http://", "https://") : Parameters.WebSiteUrl;
            ViewBag.CanonicalUrl = websiteUrl + "/Content/" + page.Url;
            eStoreUser.RedirectUrl = "/Content/" + page.Url;
            return View(pageModel);
        }

        #endregion

        #region Edit

        public ActionResult Edit(int pageId)
        {
            Page page = dbPage.GetById(pageId);
            PageEditModel pageModel = new PageEditModel();
            if (page != null)
            {
                Mapper.MapDomainToViewModel2(page, pageModel);
            }
            return View(pageModel);
        }

        [HttpPost]
        public ActionResult Edit(Page page)
        {
            if (!eStoreUser.IsManager)
            {
                return Redirect(Parameters.WebSiteUrl);
            }
            if (string.IsNullOrEmpty(page.Aciklama)) { return JavaScript("hataMesaji('İsim alanı boş bırakılamaz!');"); }
            if (string.IsNullOrEmpty(page.Yanit)) { page.Yanit = ""; }
            if (string.IsNullOrEmpty(page.Url)) { page.Url = ""; }
            page.Yanit = System.Web.HttpUtility.HtmlDecode(page.Yanit);
            int result = dbPage.SavePage(page);
            if (result == 1)
            {
                return JavaScript("sayfaKaydedildi($('input[name=OldUrl]').val(), $('input[name=Url]').val());");
            }
            else
            {
                return JavaScript("hataMesaji('Kayıt işlemi sırasında bir hata oluştu.');");
            }
        }

        #endregion
    }
}
